package com.irdstudio.efp.esb.api.bean.sed.credit.req;


import com.alibaba.fastjson.annotation.JSONField;
import com.irdstudio.basic.framework.core.annotation.DicType;
import com.irdstudio.basic.framework.core.constant.SDicCertTypeEnum;
import com.irdstudio.basic.framework.core.constant.SDicChannelType;
import com.irdstudio.efp.esb.api.common.sed.SedCreditQueryTypeEnum;
import com.irdstudio.efp.esb.api.common.sed.SedEnum;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.NotEmpty;

import javax.validation.constraints.NotNull;

/**
* 普税贷产品对税e贷产品的此部分代码做了复用
* 说明：为了保证功能的复用性、提升开发的工作效率，对该代码进行了复用
* 评估是否会影响线上功能：否
* 评估时间：2020/5/25
* 处理方案：保留复用
*/
public class ReqSedCreditQueryBean {
    // 授信申请流水号
    @JSONField(name = "CrdtAppFlowNo")
    @Length(max=64)
    private String lmtApplySeq;

    // 客户号
    @JSONField(name = "ClntNo")
    @Length(max=20)
    private String cusId;

    // 证件类型
    @JSONField(name = "CertTp")
    @DicType(dicType= SDicCertTypeEnum.class,message="证件类型字典项校验错误",method="getValue")
    @Length(max=32)
    private String certType;

    // 证件号码
    @JSONField(name = "CertNo")
    @Length(max=32)
    private String certCode;

    // 产品ID
    @JSONField(name = "PrdctID")
    @DicType(dicType= SedEnum.PrdCodeEnum.class,message="产品ID字典项校验错误",method="getValue")
    @Length(max=8)
    private String prdId; 

    // 审批状态
    @JSONField(name = "BtchAprvStCd")
    @Length(max=20)
    private String apprvSts;

    // 渠道编号
    @JSONField(name = "ChanNo")
    @DicType(dicType= SDicChannelType.class,message="渠道编号字典项校验错误",method="getValue")
    @Length(max=3)
    private String channelNo;

    // 查询类型
    @JSONField(name = "QryTp")
    @Length(max=3)
    @DicType(dicType=SedCreditQueryTypeEnum.class, message="查询类型只支持01、02、03、04、05,06", method="getValue")
    @NotNull  
    @NotEmpty
    private String qryType;

    // 页码
    @JSONField(name = "PgNo")
    @Length(max=9)
    private String pageNo;

    // 每页显示条数
    @JSONField(name = "PerPgRcrNum")
    @Length(max=9)
    private String pageSize;

	/**
	 * 手机号
	 */
	@JSONField(name = "MblNo")
	@Length(max = 11)
    private String mobile;

	@JSONField(name = "WhthrVerfMbl")
	@Length(max = 1)
	private String isCheckMobile;

	public final String getLmtApplySeq() {
		return lmtApplySeq;
	}

	public final void setLmtApplySeq(String lmtApplySeq) {
		this.lmtApplySeq = lmtApplySeq;
	}

	public final String getCusId() {
		return cusId;
	}

	public final void setCusId(String cusId) {
		this.cusId = cusId;
	}

	public final String getCertType() {
		return certType;
	}

	public final void setCertType(String certType) {
		this.certType = certType;
	}

	public final String getCertCode() {
		return certCode;
	}

	public final void setCertCode(String certCode) {
		this.certCode = certCode;
	}

	public final String getPrdId() {
		return prdId;
	}

	public final void setPrdId(String prdId) {
		this.prdId = prdId;
	}

	public final String getApprvSts() {
		return apprvSts;
	}

	public final void setApprvSts(String apprvSts) {
		this.apprvSts = apprvSts;
	}

	public final String getChannelNo() {
		return channelNo;
	}

	public final void setChannelNo(String channelNo) {
		this.channelNo = channelNo;
	}

	public final String getQryType() {
		return qryType;
	}

	public final void setQryType(String qryType) {
		this.qryType = qryType;
	}

	public final String getPageNo() {
		return pageNo;
	}

	public final void setPageNo(String pageNo) {
		this.pageNo = pageNo;
	}

	public final String getPageSize() {
		return pageSize;
	}

	public final void setPageSize(String pageSize) {
		this.pageSize = pageSize;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getIsCheckMobile() {
		return isCheckMobile;
	}

	public void setIsCheckMobile(String isCheckMobile) {
		this.isCheckMobile = isCheckMobile;
	}
}
